#ifndef XGP_STUDY_DEMO49_LINKSTACK_H
#define XGP_STUDY_DEMO49_LINKSTACK_H

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//链式栈的结点
typedef struct LINKNODE {
    struct LINKNODE* next;
}LinkNode;

//链式栈
typedef struct LINKSTACK {
    LinkNode head;
    int size;
}LinkStack;

//1，初始化函数
LinkStack* Init_LinkStack();
//2，入栈
void Push_LinkStack(LinkStack* stack,LinkNode* data);
//3，出栈
LinkNode* Pop_LinkStack(LinkStack* stack);
//4，返回栈顶元素
LinkNode* Top_LinkStack(LinkStack* stack);
//5，返回栈元素的个数
int Size_LinkStack(LinkStack* stack);
//6，清空栈
void Clear_LinkStack(LinkStack* stack);
//7，销毁栈
void FreeSpace_LinkStack(LinkStack* stack);

#endif //XGP_STUDY_DEMO49_LINKSTACK_H
